Packet-based telecommunications networks typically include application gateway devices deployed at the boundaries between networks. For example, a Session Border Controller (SBC) is deployed at the border of a Voice Over Internet Protocol (VoIP) network and protects the network by policing communication sessions such as voice calls (or ‘VoIP calls’) flowing into or out of that network. Communication sessions such as voice calls are commonly set up using the Session Initiation Protocol (SIP). Such communication sessions have a signalling path spanning a plurality of devices including one or more intermediate network devices, such as SBCs and softswitches, and at least two endpoint devices, such as user terminals. The signalling path comprises a plurality of signalling segments, each segment being between two devices in the plurality of devices.
An SBC can employ network address translation (NAT) to hide the IP addresses of devices in one network from devices in another network, when communicating via a signalling segment. This typically involves the SBC replacing network addresses of signalling messages, and storing a network address lookup table for translating between the network addresses. In the case of SIP signalling messages, such network addresses can be Internet Protocol (IP addresses) contained in session or associated identifiers.
Various different references used in signalling messages refer to the correct communication session or associated identifiers. In the case of SIP signalling messages, there are many SIP extension functions, some of which, such as call transfer, may reference a session while it is still in existence, and others of which, such as voice quality reporting, may reference the communication session whilst it is still in existence and also after it has terminated. Such SIP extension functions are continually being developed.
There is therefore a need to provide improved methods for processing session identifiers in a signalling segment for a communications session.